<?php
declare(strict_types=1);

namespace LowCode\Vxe;

use LowCode\Node;
use LowCode\Support\JsExp;

class Grid extends Node
{
    /**
     * 唯一标识（被某些特定的功能所依赖）
     * @param string|JsExp $id
     * @return $this
     */
    public function id(string|JsExp $id): static
    {
        return $this->prop("id",$id);
    }

    /**
     * @param array|JsExp $columns
     * @return $this
     */
    public function columns(array|JsExp $columns): static
    {
        return $this->prop("columns",$columns);
    }

    /**
     * @param array|JsExp $data
     * @return $this
     */
    public function data(array|JsExp $data): static
    {
        return $this->prop("data",$data);
    }

    /**
     * @param string|int|JsExp $height
     * @return $this
     */
    public function height(string|int|JsExp $height): static
    {
        return $this->prop("height",$height);
    }

    /**
     * @return array
     */
    public function toArray(): array
    {
        return $this->props;
    }
}
